package com.wing.product.model.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wing.mybatis.common.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.springframework.format.annotation.DateTimeFormat;

import java.math.BigDecimal;
import java.time.LocalDateTime;

@Schema(description="领料记录明细表")
@Data
@EqualsAndHashCode(callSuper=true)
@TableName(value = "warehouse_material_requisition_record_detail")
public class WarehouseMaterialRequisitionRecordDetail extends BaseEntity<WarehouseMaterialRequisitionRecordDetail> {

    @TableField(value = "requisition_record_id")
    @Schema(description="领料记录id")
    private Long requisitionRecordId;

    @TableField(value = "customer_code")
    @Schema(description="客户唯一码")
    private String customerCode;

    @TableField(value = "user_bundle_code")
    @Schema(description="客户捆包号")
    private String userBundleCode;

    @TableField(value = "sys_bundle_code")
    @Schema(description="内部捆包号")
    private String sysBundleCode;

    @TableField(value = "product_producer_name")
    @Schema(description="生产厂家")
    private String productProducerName;

    @TableField(value = "product_variety")
    @Schema(description="品种")
    private String productVariety;

    @TableField(value = "product_mark")
    @Schema(description="牌号")
    private String productMark;

    @TableField(value = "product_brand")
    @Schema(description="品牌")
    private String productBrand;

    @TableField(value = "product_main_unit")
    @Schema(description="单位")
    private String productMainUnit;

    @TableField(value = "gross_weight")
    @Schema(description="毛重")
    private BigDecimal grossWeight;

    @TableField(value = "net_weight")
    @Schema(description="净重")
    private BigDecimal netWeight;

    @TableField(value = "storage_order_creator_name")
    @Schema(description="入库作业人")
    private String storageOrderCreatorName;

    @TableField(value = "storage_order_create_time")
    @Schema(description="入库签收时间")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime storageOrderCreateTime;

    @TableField(value = "total_custody_fee")
    @Schema(description="总托管费")
    private BigDecimal totalCustodyFee;

    @TableField(value = "settled_custody_fee")
    @Schema(description="已结托管费")
    private BigDecimal settledCustodyFee;

    @TableField(value = "pending_fee")
    @Schema(description="待结费用")
    private BigDecimal pendingFee;

    @TableField(value = "status")
    @Schema(description="状态1.未上机，2.已上机")
    private String status;

    @TableField(value = "computer_practice_id")
    @Schema(description="上机记录id")
    private Long computerPracticeId;

    @TableField(value = "product_producer_id")
    @Schema(description="厂家id")
    private Long productProducerId;

    @TableField(value = "product_brand_id")
    @Schema(description="品牌id")
    private Long productBrandId;

    @TableField(value = "product_variety_id")
    @Schema(description="品种id")
    private Long productVarietyId;

    @TableField(value = "product_mark_id")
    @Schema(description="牌号")
    private Long productMarkId;

    @TableField(exist = false)
    @Schema(description="仓库")
    private String warehouseName;

    @TableField(exist = false)
    @Schema(description="库区")
    private String warehouseAreaName;

    @TableField(exist = false)
    @Schema(description="库区")
    private String warehouseShelfSpaceCode;
}
